home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 August: Tool Chest / Dev.CD Aug 94.toast / New System Software Extensions / OpenDoc A6 / SOM / OpenDoc and SOM / C / ODObject.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-04-19  |  14.5 KB  |  463 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: Locrian:WWDCSun:C:ODObject.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: somc/smemit.c
  7.  *     SOM Emitter emith.dll: somc/smmain.c
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Theory of Operation
  13.  * 
  14.  * 
  15.  *  Classes defined in this interface
  16.  * 
  17.  */
  18.  
  19.  
  20. #ifndef SOM_ODObject_h
  21. #define SOM_ODObject_h
  22.  
  23.  
  24. #include <som.h>
  25.  
  26. /*
  27.  * -- This emitter treats Method Tokens as Thunks by default
  28.  * -- Use the sc modifier "nothunks" to change this default
  29.  */
  30. #undef somresolve_
  31. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  32.  
  33. /*
  34.  * Define the class name as an object type
  35.  */
  36. #ifndef ODObject
  37. #define ODObject SOMObject
  38. #endif
  39. #include <somobj.h>
  40.  
  41. /*
  42.  * Start of user-defined types:
  43.  */
  44. #ifndef ODExtension
  45.     #define ODExtension SOMObject
  46. #endif /* ODExtension */
  47.  
  48. /*
  49.  * End of user-defined types.
  50.  */
  51.  
  52. #define ODObject_MajorVersion 0
  53. #define ODObject_MinorVersion 0
  54.  
  55. /*
  56.  * External name shortening if required
  57.  */
  58. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  59. #define ODObjectNewClass c
  60. #define ODObjectClassData d
  61. #define ODObjectCClassData x
  62. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  63.  
  64. /*
  65.  * Include the meta class file
  66.  */
  67. #include <ODObject.h>
  68. /*--------------Migration------------*/
  69. #define ODObject_classObj ODObjectClassData.classObject
  70. #define _ODObject ODObject_classObj
  71.  
  72. /*
  73.  * Declare the class creation procedure
  74.  */
  75.  
  76. #if applec ^ PRAGMA_LIB_EXPORT
  77. #pragma lib_export on
  78. #endif
  79.  
  80. SOMEXTERN SOMClass * SOMLINK ODObjectNewClass(integer4 somtmajorVersion,
  81.         integer4 somtminorVersion);
  82.  
  83. /*
  84.  * Declare the class data structure
  85.  */
  86. SOMEXTERN struct ODObjectClassDataStructure {
  87.     SOMAny *classObject;
  88.     somMToken InitObject;
  89.     somMToken IsInitialized;
  90.     somMToken HasExtension;
  91.     somMToken GetExtension;
  92.     somMToken ReleaseExtension;
  93.     somMToken Purge;
  94.     somMToken SubClassResponsibility;
  95. }
  96. #ifdef SOM_NO_DATA_EXPORTS
  97.     * ODObjectGetClassData ( void );
  98. #   undef ODObjectClassData
  99. #   define ODObjectClassData (*ODObjectGetClassData())
  100. #else
  101.       ODObjectClassData;
  102. #endif /* SOM_NO_DATA_EXPORTS */
  103.  
  104. #if applec ^ PRAGMA_LIB_EXPORT
  105. #pragma lib_export off
  106. #endif
  107.  
  108.  
  109. /*
  110.  * Declare the C specific class data structure
  111.  */
  112. SOMEXTERN struct ODObjectCClassDataStructure {
  113.     somMethodTabs parentMtab;
  114.     somDToken instanceDataToken;
  115. } ODObjectCClassData;
  116.  
  117. /*
  118.  * New and Renew macros for ODObject
  119.  */
  120. #define ODObjectNew() \
  121.     ( ( ! (ODObjectClassData.classObject) && \
  122.         (ODObjectNewClass(ODObject_MajorVersion, ODObject_MinorVersion)) ), \
  123.       (_somNew(ODObjectClassData.classObject)) )
  124. #define ODObjectRenew(buf) \
  125.     ( _somRenew(ODObjectClassData.classObject, buf) )
  126.  
  127. /*
  128.  * Override method: somInit
  129.  */
  130. #define ODObject_somInit(somSelf) \
  131.     SOMObject_somInit(somSelf)
  132.  
  133. /*
  134.  * Override method: somUninit
  135.  */
  136. #define ODObject_somUninit(somSelf) \
  137.     SOMObject_somUninit(somSelf)
  138.  
  139. /*
  140.  * New Method: InitObject
  141.  */
  142. typedef void   (SOMLINK *somTD_ODObject_InitObject)(ODObject *somSelf, Environment *ev);
  143. #define somMD_ODObject_InitObject "::ODObject::InitObject"
  144. #define ODObject_InitObject(somSelf,ev) \
  145.     (SOM_Resolve(somSelf, ODObject, InitObject) \
  146.     (somSelf,ev))
  147. #ifndef SOMGD_InitObject
  148.     #if (defined(_InitObject) || defined(__InitObject))
  149.         #undef _InitObject
  150.         #undef __InitObject
  151.         #define SOMGD_InitObject 1
  152.     #else
  153.         #define _InitObject ODObject_InitObject
  154.     #endif /* _InitObject */
  155. #endif /* SOMGD_InitObject */
  156.  
  157. /*
  158.  * New Method: IsInitialized
  159.  */
  160. typedef boolean   (SOMLINK *somTD_ODObject_IsInitialized)(ODObject *somSelf, Environment *ev);
  161. #define somMD_ODObject_IsInitialized "::ODObject::IsInitialized"
  162. #define ODObject_IsInitialized(somSelf,ev) \
  163.     (SOM_Resolve(somSelf, ODObject, IsInitialized) \
  164.     (somSelf,ev))
  165. #ifndef SOMGD_IsInitialized
  166.     #if (defined(_IsInitialized) || defined(__IsInitialized))
  167.         #undef _IsInitialized
  168.         #undef __IsInitialized
  169.         #define SOMGD_IsInitialized 1
  170.     #else
  171.         #define _IsInitialized ODObject_IsInitialized
  172.     #endif /* _IsInitialized */
  173. #endif /* SOMGD_IsInitialized */
  174.  
  175. /*
  176.  * New Method: HasExtension
  177.  */
  178. typedef boolean   (SOMLINK *somTD_ODObject_HasExtension)(ODObject *somSelf, Environment *ev,
  179.         ODType extensionName);
  180. #define somMD_ODObject_HasExtension "::ODObject::HasExtension"
  181. #define ODObject_HasExtension(somSelf,ev,extensionName) \
  182.     (SOM_Resolve(somSelf, ODObject, HasExtension) \
  183.     (somSelf,ev,extensionName))
  184. #ifndef SOMGD_HasExtension
  185.     #if (defined(_HasExtension) || defined(__HasExtension))
  186.         #undef _HasExtension
  187.         #undef __HasExtension
  188.         #define SOMGD_HasExtension 1
  189.     #else
  190.         #define _HasExtension ODObject_HasExtension
  191.     #endif /* _HasExtension */
  192. #endif /* SOMGD_HasExtension */
  193.  
  194. /*
  195.  * New Method: GetExtension
  196.  */
  197. typedef ODExtension*   (SOMLINK *somTD_ODObject_GetExtension)(ODObject *somSelf, Environment *ev,
  198.         ODType extensionName);
  199. #define somMD_ODObject_GetExtension "::ODObject::GetExtension"
  200. #define ODObject_GetExtension(somSelf,ev,extensionName) \
  201.     (SOM_Resolve(somSelf, ODObject, GetExtension) \
  202.     (somSelf,ev,extensionName))
  203. #ifndef SOMGD_GetExtension
  204.     #if (defined(_GetExtension) || defined(__GetExtension))
  205.         #undef _GetExtension
  206.         #undef __GetExtension
  207.         #define SOMGD_GetExtension 1
  208.     #else
  209.         #define _GetExtension ODObject_GetExtension
  210.     #endif /* _GetExtension */
  211. #endif /* SOMGD_GetExtension */
  212.  
  213. /*
  214.  * New Method: ReleaseExtension
  215.  */
  216. typedef void   (SOMLINK *somTD_ODObject_ReleaseExtension)(ODObject *somSelf, Environment *ev,
  217.         ODExtension* extension);
  218. #define somMD_ODObject_ReleaseExtension "::ODObject::ReleaseExtension"
  219. #define ODObject_ReleaseExtension(somSelf,ev,extension) \
  220.     (SOM_Resolve(somSelf, ODObject, ReleaseExtension) \
  221.     (somSelf,ev,extension))
  222. #ifndef SOMGD_ReleaseExtension
  223.     #if (defined(_ReleaseExtension) || defined(__ReleaseExtension))
  224.         #undef _ReleaseExtension
  225.         #undef __ReleaseExtension
  226.         #define SOMGD_ReleaseExtension 1
  227.     #else
  228.         #define _ReleaseExtension ODObject_ReleaseExtension
  229.     #endif /* _ReleaseExtension */
  230. #endif /* SOMGD_ReleaseExtension */
  231.  
  232. /*
  233.  * New Method: Purge
  234.  */
  235. typedef ODSize   (SOMLINK *somTD_ODObject_Purge)(ODObject *somSelf, Environment *ev,
  236.         ODSize size);
  237. #define somMD_ODObject_Purge "::ODObject::Purge"
  238. #define ODObject_Purge(somSelf,ev,size) \
  239.     (SOM_Resolve(somSelf, ODObject, Purge) \
  240.     (somSelf,ev,size))
  241. #ifndef SOMGD_Purge
  242.     #if (defined(_Purge) || defined(__Purge))
  243.         #undef _Purge
  244.         #undef __Purge
  245.         #define SOMGD_Purge 1
  246.     #else
  247.         #define _Purge ODObject_Purge
  248.     #endif /* _Purge */
  249. #endif /* SOMGD_Purge */
  250.  
  251. /*
  252.  * New Method: SubClassResponsibility
  253.  */
  254. typedef void   (SOMLINK *somTD_ODObject_SubClassResponsibility)(ODObject *somSelf, Environment *ev);
  255. #define somMD_ODObject_SubClassResponsibility "::ODObject::SubClassResponsibility"
  256. #define ODObject_SubClassResponsibility(somSelf,ev) \
  257.     (SOM_Resolve(somSelf, ODObject, SubClassResponsibility) \
  258.     (somSelf,ev))
  259. #ifndef SOMGD_SubClassResponsibility
  260.     #if (defined(_SubClassResponsibility) || defined(__SubClassResponsibility))
  261.         #undef _SubClassResponsibility
  262.         #undef __SubClassResponsibility
  263.         #define SOMGD_SubClassResponsibility 1
  264.     #else
  265.         #define _SubClassResponsibility ODObject_SubClassResponsibility
  266.     #endif /* _SubClassResponsibility */
  267. #endif /* SOMGD_SubClassResponsibility */
  268. #ifndef SOM_DONT_USE_INHERITED_MACROS
  269. #define ODObject_somFree SOMObject_somFree
  270. #define ODObject_somGetClass SOMObject_somGetClass
  271. #define ODObject_somGetClassName SOMObject_somGetClassName
  272. #define ODObject_somGetSize SOMObject_somGetSize
  273. #define ODObject_somIsA SOMObject_somIsA
  274. #define ODObject_somIsInstanceOf SOMObject_somIsInstanceOf
  275. #define ODObject_somRespondsTo SOMObject_somRespondsTo
  276. #define ODObject_somDispatchV SOMObject_somDispatchV
  277. #define ODObject_somDispatchL SOMObject_somDispatchL
  278. #define ODObject_somDispatchA SOMObject_somDispatchA
  279. #define ODObject_somDispatchD SOMObject_somDispatchD
  280. #define ODObject_somDispatch SOMObject_somDispatch
  281. #define ODObject_somClassDispatch SOMObject_somClassDispatch
  282. #define ODObject_somPrintSelf SOMObject_somPrintSelf
  283. #define ODObject_somDumpSelf SOMObject_somDumpSelf
  284. #define ODObject_somDumpSelfInt SOMObject_somDumpSelfInt
  285. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  286.  
  287. #endif       /* SOM_ODObject_h */
  288.  
  289. #ifndef SOM_M_ODObject_h
  290. #define SOM_M_ODObject_h
  291.  
  292.  
  293. #include <som.h>
  294.  
  295. /*
  296.  * -- This emitter treats Method Tokens as Thunks by default
  297.  * -- Use the sc modifier "nothunks" to change this default
  298.  */
  299. #undef somresolve_
  300. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  301.  
  302. /*
  303.  * Define the class name as an object type
  304.  */
  305. #ifndef M_ODObject
  306. #define M_ODObject SOMObject
  307. #endif
  308. #include <somcls.h>
  309.  
  310. /*
  311.  * Start of user-defined types:
  312.  */
  313. #ifndef ODExtension
  314.     #define ODExtension SOMObject
  315. #endif /* ODExtension */
  316.  
  317. /*
  318.  * End of user-defined types.
  319.  */
  320.  
  321. #define M_ODObject_MajorVersion 0
  322. #define M_ODObject_MinorVersion 0
  323.  
  324. /*
  325.  * External name shortening if required
  326.  */
  327. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  328. #define M_ODObjectNewClass c
  329. #define M_ODObjectClassData d
  330. #define M_ODObjectCClassData x
  331. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  332. /*--------------Migration------------*/
  333. #define M_ODObject_classObj M_ODObjectClassData.classObject
  334. #define _M_ODObject M_ODObject_classObj
  335.  
  336. /*
  337.  * Declare the class creation procedure
  338.  */
  339.  
  340. #if applec ^ PRAGMA_LIB_EXPORT
  341. #pragma lib_export on
  342. #endif
  343.  
  344. SOMEXTERN SOMClass * SOMLINK M_ODObjectNewClass(integer4 somtmajorVersion,
  345.         integer4 somtminorVersion);
  346.  
  347. /*
  348.  * Declare the class data structure
  349.  */
  350. SOMEXTERN struct M_ODObjectClassDataStructure {
  351.     SOMAny *classObject;
  352. }
  353. #ifdef SOM_NO_DATA_EXPORTS
  354.     * M_ODObjectGetClassData ( void );
  355. #   undef M_ODObjectClassData
  356. #   define M_ODObjectClassData (*M_ODObjectGetClassData())
  357. #else
  358.       M_ODObjectClassData;
  359. #endif /* SOM_NO_DATA_EXPORTS */
  360.  
  361. #if applec ^ PRAGMA_LIB_EXPORT
  362. #pragma lib_export off
  363. #endif
  364.  
  365.  
  366. /*
  367.  * Declare the C specific class data structure
  368.  */
  369. SOMEXTERN struct M_ODObjectCClassDataStructure {
  370.     somMethodTabs parentMtab;
  371.     somDToken instanceDataToken;
  372. } M_ODObjectCClassData;
  373.  
  374. /*
  375.  * New and Renew macros for M_ODObject
  376.  */
  377. #define M_ODObjectNew() \
  378.     ( ( ! (M_ODObjectClassData.classObject) && \
  379.         (M_ODObjectNewClass(M_ODObject_MajorVersion, M_ODObject_MinorVersion)) ), \
  380.       (_somNew(M_ODObjectClassData.classObject)) )
  381. #define M_ODObjectRenew(buf) \
  382.     ( _somRenew(M_ODObjectClassData.classObject, buf) )
  383.  
  384. /*
  385.  * Override method: somNew
  386.  */
  387. #define M_ODObject_somNew(somSelf) \
  388.     SOMClass_somNew(somSelf)
  389. #ifndef SOM_DONT_USE_INHERITED_MACROS
  390. #define M_ODObject_somAllocate SOMClass_somAllocate
  391. #define M_ODObject_somDeallocate SOMClass_somDeallocate
  392. #define M_ODObject_somNewNoInit SOMClass_somNewNoInit
  393. #define M_ODObject_somRenew SOMClass_somRenew
  394. #define M_ODObject_somRenewNoInit SOMClass_somRenewNoInit
  395. #define M_ODObject_somRenewNoZero SOMClass_somRenewNoZero
  396. #define M_ODObject_somRenewNoInitNoZero SOMClass_somRenewNoInitNoZero
  397. #define M_ODObject_somInitClass SOMClass_somInitClass
  398. #define M_ODObject_somInitMIClass SOMClass_somInitMIClass
  399. #define M_ODObject_somAddStaticMethod SOMClass_somAddStaticMethod
  400. #define M_ODObject_somAddDynamicMethod SOMClass_somAddDynamicMethod
  401. #define M_ODObject_somClassReady SOMClass_somClassReady
  402. #define M_ODObject_somOverrideSMethod SOMClass_somOverrideSMethod
  403. #define M_ODObject_somGetApplyStub SOMClass_somGetApplyStub
  404. #define M_ODObject_somGetClassData SOMClass_somGetClassData
  405. #define M_ODObject_somSetClassData SOMClass_somSetClassData
  406. #define M_ODObject_somGetClassMtab SOMClass_somGetClassMtab
  407. #define M_ODObject_somGetInstanceOffset SOMClass_somGetInstanceOffset
  408. #define M_ODObject_somGetInstancePartSize SOMClass_somGetInstancePartSize
  409. #define M_ODObject_somGetInstanceSize SOMClass_somGetInstanceSize
  410. #define M_ODObject_somGetInstanceToken SOMClass_somGetInstanceToken
  411. #define M_ODObject_somGetMemberToken SOMClass_somGetMemberToken
  412. #define M_ODObject_somGetMethodData SOMClass_somGetMethodData
  413. #define M_ODObject_somGetRdStub SOMClass_somGetRdStub
  414. #define M_ODObject_somGetMethodDescriptor SOMClass_somGetMethodDescriptor
  415. #define M_ODObject_somGetMethodIndex SOMClass_somGetMethodIndex
  416. #define M_ODObject_somGetMethodOffset SOMClass_somGetMethodOffset
  417. #define M_ODObject_somGetMethodToken SOMClass_somGetMethodToken
  418. #define M_ODObject_somGetName SOMClass_somGetName
  419. #define M_ODObject_somGetNthMethodData SOMClass_somGetNthMethodData
  420. #define M_ODObject_somGetNthMethodInfo SOMClass_somGetNthMethodInfo
  421. #define M_ODObject_somGetNumMethods SOMClass_somGetNumMethods
  422. #define M_ODObject_somGetNumStaticMethods SOMClass_somGetNumStaticMethods
  423. #define M_ODObject_somGetParent SOMClass_somGetParent
  424. #define M_ODObject_somGetParents SOMClass_somGetParents
  425. #define M_ODObject_somGetPClsMtab SOMClass_somGetPClsMtab
  426. #define M_ODObject_somGetPClsMtabs SOMClass_somGetPClsMtabs
  427. #define M_ODObject_somGetVersionNumbers SOMClass_somGetVersionNumbers
  428. #define M_ODObject_somSetMethodDescriptor SOMClass_somSetMethodDescriptor
  429. #define M_ODObject_somCheckVersion SOMClass_somCheckVersion
  430. #define M_ODObject_somDescendedFrom SOMClass_somDescendedFrom
  431. #define M_ODObject_somSupportsMethod SOMClass_somSupportsMethod
  432. #define M_ODObject_somFindMethod SOMClass_somFindMethod
  433. #define M_ODObject_somFindMethodOk SOMClass_somFindMethodOk
  434. #define M_ODObject_somFindSMethod SOMClass_somFindSMethod
  435. #define M_ODObject_somFindSMethodOk SOMClass_somFindSMethodOk
  436. #define M_ODObject_somLookupMethod SOMClass_somLookupMethod
  437. #define M_ODObject_somOverrideMtab SOMClass_somOverrideMtab
  438. #define M_ODObject__get_somInstanceDataOffsets SOMClass__get_somInstanceDataOffsets
  439. #define M_ODObject_somInit SOMObject_somInit
  440. #define M_ODObject_somUninit SOMObject_somUninit
  441. #define M_ODObject_somDumpSelfInt SOMObject_somDumpSelfInt
  442. #define M_ODObject_somFree SOMObject_somFree
  443. #define M_ODObject_somInit SOMObject_somInit
  444. #define M_ODObject_somUninit SOMObject_somUninit
  445. #define M_ODObject_somGetClass SOMObject_somGetClass
  446. #define M_ODObject_somGetClassName SOMObject_somGetClassName
  447. #define M_ODObject_somGetSize SOMObject_somGetSize
  448. #define M_ODObject_somIsA SOMObject_somIsA
  449. #define M_ODObject_somIsInstanceOf SOMObject_somIsInstanceOf
  450. #define M_ODObject_somRespondsTo SOMObject_somRespondsTo
  451. #define M_ODObject_somDispatchV SOMObject_somDispatchV
  452. #define M_ODObject_somDispatchL SOMObject_somDispatchL
  453. #define M_ODObject_somDispatchA SOMObject_somDispatchA
  454. #define M_ODObject_somDispatchD SOMObject_somDispatchD
  455. #define M_ODObject_somDispatch SOMObject_somDispatch
  456. #define M_ODObject_somClassDispatch SOMObject_somClassDispatch
  457. #define M_ODObject_somPrintSelf SOMObject_somPrintSelf
  458. #define M_ODObject_somDumpSelf SOMObject_somDumpSelf
  459. #define M_ODObject_somDumpSelfInt SOMObject_somDumpSelfInt
  460. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  461.  
  462. #endif       /* SOM_M_ODObject_h */
  463.